package com.zzl.finance.data.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author gull
 * @date 2021-11-09 20:04:58
 */
@Data
@ApidocModel
@SuppressWarnings("javadoc")
public class EnterpriseUpdateDto implements Serializable {
    private static final long serialVersionUID = 1L;
    //@NotNull(message = "供应商不能为空")
    @ApidocModelProperty(description = "主键", example = "")
    private String id;
    @ApidocModelProperty(description = "企业名称", example = "")
    private String enterpriseName;
    @ApidocModelProperty(description = "社会统一代码", example = "")
    private String socialCreditCode;
    @ApidocModelProperty(description = "邮箱", example = "")
    private String supplierEmail;
    @ApidocModelProperty(description = "电话", example = "")
    private String supplierPhone;
    @ApidocModelProperty(description = "开户行", example = "")
    private String depositBank;
    @ApidocModelProperty(description = "打款账号", example = "")
    private String paymentAccount;
    @ApidocModelProperty(description = "所属行业", example = "")
    private String supplierIndustry;
    @ApidocModelProperty(description = "企业规模", example = "")
    private String enterpriseScale;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApidocModelProperty(description = "营业执照有效期", validate = "yyyy-MM-dd")
    private Date businessLicenseExpireTime;
    @ApidocModelProperty(description = "企业地址", example = "")
    private String businessAddress;
    @ApidocModelProperty(description = "审核状态，0审核中，1审核通过，2审核拒绝")
    private Integer approveStatus;

    @ApidocModelProperty(description = "企业地址省市")
    private String province;
    @ApidocModelProperty(description = "注册城市")
    private String city;
    @ApidocModelProperty(description = "注册区县")
    private String area;
    @ApidocModelProperty(description = "地区code")
    private String areaId;

    @ApidocModelProperty(description = "办公地址")
    private String mailAddress;

    @ApidocModelProperty(description = "注册地址")
    private String address;

    @ApidocModelProperty(description = "营业执照", example = "")
    private String businessLicense;

    @ApidocModelProperty(description = "管理员委托授权书 文件id")
    private String adminPowerAttorney;

    @ApidocModelProperty(description = "法人身份证正面")
    private String frontIdentityCard;

    @ApidocModelProperty(description = "法人身份证反面")
    private String backIdentityCard;

    @ApidocModelProperty(description = "管理员证件正面地址")
    private String certificatesFront;

    @ApidocModelProperty(description = "管理员证件反面地址")
    private String certificatesBack;


    @ApidocModelProperty(description = "对公账户,账户号码")
    @NotEmpty(message = "对公账户不能为空!")
    private String corporateAccount;

    @ApidocModelProperty(description = "开户行全称，银行支行")
    @NotEmpty(message = "开户行全称不能为空!")
    private String fullNameOpeningBank;

    @ApidocModelProperty(description = "开户网点，银行名称")
    @NotEmpty(message = "开户网点不能为空!")
    private String accountOpeningOutlet;

    @ApidocModelProperty(description = "联行号")
    @NotEmpty(message = "联行号不能为空")
    private String bankNumber;


    @ApidocModelProperty(description = "人员新增")
    private List<VoucherUserUpdateDto> voucherUserUpdateDtos;
}
